//
//  HXDataBaseObject.h
//  HXTClient
//  数据库对象文件
//
//  Created by Apple on 14-5-17.
//  Copyright (c) 2014年 easaa. All rights reserved.
//

#import <Foundation/Foundation.h>
#import <sqlite3.h>
#import <pthread.h>

#define HXDataBaseFileName @"dataBase.db"

extern NSString *const DataBaseValueKey;
extern NSString *const DataBaseValue;

@interface HXDataBaseObject : NSObject
{
    sqlite3 *db;
    pthread_mutex_t mutex;
}

+ (instancetype)shareDataBaseObject;
/**
 *  打开dataBase,对数据库操作之前必须调用此方法打开数据库
 */
- (BOOL)openDataBase;

/**
 *  关闭dataBase,操作完数据库后必须调用此方法关闭数据库
 */
- (BOOL)closeDataBase;

/**
 *  创建一张新表
 *
 *  @param tableName 表名
 */
- (BOOL)createNewTableWithName:(NSString *)tableName;

/**
 *  查询指定表中的数据条数
 */
- (int)queryDataCountInTable:(NSString *)tableName;

/**
 *  插入数据到指定表中
 *
 *  @param aryData   插入的数据
 *  @param tableName 要插入的表名
 */
- (BOOL)insertData:(NSArray *)aryData toTable:(NSString *)tableName;

/**
 *  更新数据到指定表中
 */
- (BOOL)updateData:(NSArray *)aryData toTable:(NSString *)tableName;

/**
 *  在指定表中根据key查询指定数据
 */
- (id)queryDataWithKey:(NSString *)key inTable:(NSString *)tableName;

@end
